<html xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      layout:decorator="layout">
<head>
    <title>Spring | Microservices</title>
    <meta property='og:title' content='Spring can help you write microservices that are small and self-contained and has many tools to help you look after your microservices once they’re in the hands of your users.'/>
    <meta property='og:description' content='Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others.'/>
</head>
<body id='microservices'>
<div layout:fragment="~{content}">
    <div id='hero' class='topics-banner mb-5'>
        <img id='midshape' th:src="@{/images/header-microservices.svg}" alt=''>
    </div>
    <div class='content' role='Main'>
        <section class='container mb-5'>
            <h1 class='h1'>Microservices</h1>
            <div class='flex jc-between topic-hero'>
                <div class='left m-0 topic-info'>
                    <p class='big'>Microservice architectures are the ‘new normal’. Building small, self-contained, ready to run applications can bring great flexibility and added resilience to your code. Spring Boot’s many purpose-built features make it easy to build and run your microservices in production at scale. And don’t forget, no microservice architecture is complete without <a class='blue link-animate' th:href="@{/cloud}">Spring Cloud</a> ‒ easing administration and boosting your fault-tolerance.</p>
                    <div class='flex jc-between half-and-half'>
                        <div class='topics-half'>
                            <h3 class='h3'>What are microservices?</h3>
                            <p>Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others.</p>
                        </div>
                        <div class='topics-half'>
                            <h3 class='h3'>Why build microservices?</h3>
                            <p>Their small scale and relative isolation can lead to many additional benefits, such as easier maintenance, improved productivity, greater fault tolerance, better business alignment, and more. </p>
                        </div>
                    </div>
                </div>
                <img class='as-fs topic-icon' th:src="@{/images/microservices.svg}" alt=''>
            </div>
        </section>
        <section class='cornell container'>
            <div class='flex jc-between py-50'>
                <div class='left third'>
                    <h2 class='h2'>Microservices with Spring Boot</h2>
                </div>
                <div class='right'>
                    <p class='mb-3'>With Spring Boot, your microservices can start small and iterate fast. That’s why it has become the de facto standard for Java™ microservices. Quickstart your project with Spring Initializr and then package as a JAR. With Spring Boot’s embedded server model, you’re ready to go in minutes.</p>
                    <a class='button animate uppercase mb-3' th:href="@{/quickstart}">Try our quickstart guide</a>
                </div>
            </div>
        </section>
        <section class='cornell container'>
            <div class='flex jc-between py-50'>
                <div class='left third'>
                    <h2 class='h2'>Microservice resilience with Spring Cloud</h2>
                </div>
                <div class='right'>
                    <p>The distributed nature of microservices brings challenges. Spring helps you mitigate these.
                        With several ready-to-run cloud patterns, <a class='blue link-animate' th:href="@{/cloud}">Spring Cloud</a> can help with service discovery, load-balancing, circuit-breaking, distributed tracing, and monitoring. It can even act as an API gateway.</p>
                    <br/>
                    <img th:src="@{/images/diagram-microservices.svg}" alt='Microservices diagram'/>
                </div>
            </div>
        </section>
        <section class='cornell container'>
            <div class='flex jc-between py-50'>
                <div class='left third'>
                    <h2 class='h2'>Build streaming data microservices with Spring Cloud Stream</h2>
                </div>
                <div class='right'>
                    <p>Spring Cloud Stream makes it easy to consume and produce events, no matter which messaging platform you choose. Spring Cloud Stream connects your microservices with real-time messaging in just a few lines of code, to help you build highly scalable, event-driven systems.</p>
                    <a class='link-animate blue' href='https://content.pivotal.io/practitioners/getting-started-with-spring-cloud-stream'>Get started with Spring Cloud Stream</a>
                </div>
            </div>
        </section>
        <section id='manage' class='cornell container'>
            <div class='flex jc-between py-50'>
                <div class='left third'>
                    <h2 class='h2'>Manage your microservices</h2>
                </div>
                <div class='right'>
                    <div class='flex jc-between'>
                        <img th:src="@{/images/icon-graph.svg}" alt=''>
                        <div class='text'>
                            <p>Spring Boot’s optional instrumentation framework, <a class='link-animate blue' href="https://micrometer.io">Micrometer</a>, sends metrics straight to Prometheus, Atlas, and more to provide valuable insights. This is complemented by <a class='link-animate blue' th:href="@{/cloud}">Spring Cloud’s</a> Sleuth and Zipkin projects which offer distributed tracing so that you can follow along with what’s happening in real-time.</p>
                            <a class='link-animate blue' href="https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-metrics">Get started with Micrometer on Spring Boot</a>
                        </div>
                    </div>
                </div>
            </div>
        </section>
        <section id='last' class='cornell container mb-2'>
            <div class='flex jc-between py-50'>
                <div class='left third'>
                    <h2 class='h2'>Microservices on Cloud Foundry</h2>
                </div>
                <div class='right'>
                    <div class='flex jc-between'>
                        <div class='text half'>
                            <p class='mb-3'>The small, stateless nature of microservices makes them ideal for horizontal scaling. Platforms like PAS and PKS can provide scalable infrastructure to match, with and greatly reduce your administrative overhead. Using cloud connectors, you can also consume multiple backend services with ease.</p>
                            <p><a class='link-animate blue' href="https://run.pivotal.io/">Try Pivotal Web Services for free</a></p>
                        </div>
                        <div class='images'>
                            <img class='mb-2' th:src="@{/images/cloud-foundry.svg}" alt='Cloud Foundry logo'>
                            <img th:src="@{/images/logo-pas.svg}" alt='Pivotal Application Service logo'>
                        </div>
                    </div>
                </div>
            </div>
        </section>
        <section class='topic-getstarted mb-6 container center'>
            <div class='bg-lightblue py-40'>
                <h2 class='h2'>Ready to get started?</h2>
                <div class='flex jc-center'>
                    <a class='button animate uppercase antialiased' th:href="@{/quickstart}"><span>Try this tutorial'</span></a>
                </div>
            </div>
        </section>
        <section class='topics-resources mb-7'>
            <div class='container'>
                <!-- <hr class='dark'> -->
                <h2 class='h2'>
                    More resources
                </h2>
                <div class='flex jc-between'>
                    <div class='item third'>
                        <a class='thumbnail mb-1 block' href='https://content.pivotal.io/ebooks/migrating-to-cloud-native-application-architectures'>
                            <img th:src="@{/images/micro-res1.png}" alt='Migrating to Cloud-Native Application Architectures'>
                        </a>
                        <a class='h3 blue mb-1 inline-block link-darken' href='https://content.pivotal.io/ebooks/migrating-to-cloud-native-application-architectures'>Migrating to Cloud-Native Application Architectures</a>
                        <div class='author'>Matt Stine</div>
                    </div>
                    <div class='item third'>
                        <a class='thumbnail mb-1 block' href='https://content.pivotal.io/ebooks/thinking-architecturally'>
                            <img th:src="@{/images/micro-res2.png}" alt='Thinking Architecturally'>
                        </a>
                        <a class='h3 blue mb-1 inline-block link-darken' href='https://content.pivotal.io/ebooks/thinking-architecturally'>Thinking Architecturally</a>
                        <div class='author'>Nate Schutta</div>
                    </div>
                    <div class='item third'>
                        <a class='thumbnail mb-1 block' href='https://content.pivotal.io/ebooks/cloud-native-java-ebook' alt='Cloud-Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry'>
                            <img th:src="@{/images/micro-res3.png}" alt='Cloud-Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry'>
                        </a>
                        <a class='h3 blue mb-1 inline-block link-darken' href='https://content.pivotal.io/ebooks/cloud-native-java-ebook'>Cloud-Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry</a>
                        <div class='author'>Josh Long & Kenny Bastani</div>
                    </div>
                </div>
            </div>
        </section>
    </div>
</div>
</body>
</html>
